

package com.hazelcast.internal.management.events;

import com.hazelcast.internal.dynamicconfig.ConfigUpdateResult;
import com.hazelcast.internal.json.JsonObject;

import java.util.UUID;

public class ConfigUpdateFinishedEvent extends AbstractConfigUpdateEvent {

    private final ConfigUpdateResult configUpdateResult;

    public ConfigUpdateFinishedEvent(UUID configUpdateProcessId, ConfigUpdateResult configUpdateResult) {
        super(configUpdateProcessId);
        this.configUpdateResult = configUpdateResult;
    }

    @Override
    public EventMetadata.EventType getType() {
        return EventMetadata.EventType.CONFIG_UPDATE_FINISHED;
    }

    @Override
    public JsonObject toJson() {
        JsonObject json = super.toJson();
        json.add("configUpdateResult", configUpdateResult.toJson());
        return json;
    }

    public ConfigUpdateResult getConfigUpdateResult() {
        return configUpdateResult;
    }
}

